Communication systems are known to support wireless and wire lined communications between wireless and/or wire lined communication devices. Such communication systems range from national and/or international cellular telephone systems to the Internet to point-to-point in-home wireless networks. Each type of communication system is constructed, and hence operates, in accordance with one or more communication standards. For instance, wireless communication systems may operate in accordance with one or more standards including, but not limited to, IEEE 802.11, Bluetooth, advanced mobile phone services (AMPS), digital AMPS, global system for mobile communications (GSM), code division multiple access (CDMA), broadcast standard television (NTSC), broadcast high definition television (HDTV), satellite broadcasts, local multi-point distribution systems (LMDS), multi-channel-multi-point distribution systems (MMDS), and/or variations thereof.
Depending on the type of wireless communication system, a wireless communication device, such as a cellular telephone, two-way radio, personal digital assistant (PDA), personal computer (PC), laptop computer, television receiver, home entertainment equipment, et cetera communicates directly or indirectly with other wireless communication devices or receives broadcast wireless communications. For direct communications (also known as point-to-point communications), the participating wireless communication devices tune their receivers and transmitters to the same channel or channels (e.g., one of the plurality of radio frequency (RF) carriers of the wireless communication system) and communicate over that channel(s). For indirect wireless communications, each wireless communication device communicates directly with an associated base station (e.g., for cellular services) and/or an associated access point (e.g., for an in-home or in-building wireless network) via an assigned channel. To complete a communication connection between the wireless communication devices, the associated base stations and/or associated access points communicate with each other directly, via a system controller, via the public switch telephone network, via the Internet, and/or via some other wide area network. For broadcast communications, a broadcasting station transmits via a transmitting tower a wireless communication (e.g., an HDTV broadcast, an NTSC broadcast, etc.) to wireless communication devices (e.g., television, satellite receiver, HDTV, etc.) via a wireless communication channel in the UHF (ultra high frequency) and/or VHF (very high frequency) frequency range.
FIG. 1 illustrates an example of a broadcast wireless communication or reception of an indirect wireless communication via a base station or access point. As shown, a transmitting tower (base station or access point) transmits a radio frequency signal. A receiving wireless communication device, which may be a television, HDTV, cellular telephone, satellite receiver, radio, etc., receives the signal via multiple paths. In this example, the receiving wireless communication device receives the signal via four paths, i.e., via a multiple path communication channel. Via the first path, the signal reflects off of an object, which may be a building, mountain, hill, truck, etc. Via the second path, the signal reflects off of one or more buildings. The third path is a direct line of sight path, even though intervening objects may be positioned between the transmitting tower and the receiving device, where the objects may attenuate the signal. Via the fourth path, the signal reflects off of the ground.
Depending on the distance between the transmitting tower and the receiving device, attenuation properties of intervening objects, and the path in which the signal traverses, the receiving device receives multiple representations of the signal at different times with different signal strengths. FIG. 2 is a graphical diagram that depicts the multiple path communication channel of FIG. 1. As shown, at time t0, the transmitting tower transmits a signal at a certain power level (i.e., signal strength). At some time later, which depends upon the length of the path over which the signal traverses, the receiving devices receives the signal. As shown, the receiving device first receives the signal via path 3, then the signal via path 2, then the signal via path 1, and finally via path 4. As is also shown, the signal strength of the signal received via the different paths is varied. The received signal strength is dependent on the impedance (i.e., resulting in attenuation of the signal) of the path over which the signal traverses. In this example, even though path 3 is a line of sight path, it attenuates the signal more than reflected path 2.
For a wireless communication device to participate in wireless communications, it includes a receiver and may further include a transmitter. As is known, the transmitter includes a data modulation stage, one or more intermediate frequency stages, and a power amplifier. The data modulation stage converts raw data into baseband signals in accordance with the particular wireless communication standard. The one or more intermediate frequency stages mix the baseband signals with one or more local oscillations to produce RF signals. The power amplifier amplifies the RF signals prior to transmission via an antenna.
The receiver may be constructed as illustrated in FIG. 3. Such a receiver includes an antenna, a receiver (Rx) filter module, a low noise amplifier (LNA), a down-conversion module, a local oscillation module, an analog to digital converter (ADC), an equalizer, and a data recovery module. In general, the antenna receives radio frequency (RF) signals and provides them to the Rx filter module. The Rx filter module band pass filters the received RF signals to pass RF signals in a certain frequency range. The Rx filter module may be tunable such that the receiver may be adjusted to receive different channels (i.e., different RF signals).
The LNA amplifies the filtered RF signals and provides the amplified signals to the down-conversion module. The down conversion module converts the amplified RF signals into analog baseband signals based on one or more local oscillations provided by the local oscillation module. The analog to digital converter converts the analog baseband signals into digital baseband signals. The equalizer, which will be discussed in greater detail with reference to FIG. 4, functions to reduce the adverse affects of the multiple-path via which the RF signals were received. Accordingly, the equalizer compensates for the timing differences of the received RF signal via the multiple paths and for the attenuation introduced by each of the multiple paths. The data recovery module receives the equalized signal and recovers the data therefrom.
FIG. 4 illustrates a discrete time symbol-spaced Decision Feedback Equalizer (DFE). The equalizer includes a Feed Forward Equalizer (FFE) 104, a Decision block 106, and a Feed Back Equalizer (FBE) 108. The equalizer receives an input sequence y(n) via a channel, where y(n) is complex and is corresponds to the transmit signal x(n), which is also complex, attenuated by the channel [H(z)] and noise of the channel [v(n)]. Additive noise v(n) is white Gaussian with power spectral density σv2. Furthermore, the decisions {hacek over (x)}(n−δ) are assumed to be correct, and hence equal to x(n−δ). This assumption makes the design of the FBE 108 and FFE 104 easier, but at the expense of introducing error propagation due to possibly wrong decisions. The FFE 104 function G(z) has length L. The channel (impulse) response vector of the channel h is given in Equation (1) as:
                    h        ⁢                  =          Δ                ⁢                  [                                    h              ⁡                              (                0                )                                      ⁢                                                  ⁢                          h              ⁡                              (                1                )                                      ⁢                                                  ⁢            …            ⁢                                                  ⁢                          h              ⁡                              (                                  N                  -                  1                                )                                              ]                                    Equation        ⁢                                  ⁢                  (          1          )                    The number of coefficients (taps) M of the FBE 108 function B(z) is assumed greater or equal to the channel memory, i.e., M≧N−1. These modeling assumptions are feasible in practice.
In estimating FFE 104 and FBE 108 equalizer coefficients, the goal is to minimize the mean square error quantity of Equation (2).ζ=E|x(n−δ)−{circumflex over (x)}(n−δ)|2,  Equation (2)where {circumflex over (x)}(n−δ) is the delayed input signal estimate prior to the Decision block 106. By collecting the coefficients of both G(z) and B(z) into vectors, we can express the received signal {circumflex over (x)}(n−δ) in Equation (3) as:xn=yng−{hacek over (x)}nb  Equation (3)A channel output model defining yn may be expressed by:yn=xnH+vn  Equation (4)where H is the (N+L−1)×L convolution matrix corresponding to the channel response and expressed as:
                    H        =                  [                                                                      h                  ⁡                                      (                    0                    )                                                                              0                                            …                                            0                                                                                      h                  ⁡                                      (                    1                    )                                                                                                h                  ⁡                                      (                    0                    )                                                                              …                                            0                                                                    ⋮                                            ⋮                                            ⋰                                            ⋮                                                                                      h                  ⁡                                      (                                          N                      -                      1                                        )                                                                                                h                  ⁡                                      (                                          N                      -                      2                                        )                                                                              ⋰                                                              h                  ⁡                                      (                    0                    )                                                                                                      0                                                              h                  ⁡                                      (                                          N                      -                      1                                        )                                                                              ⋰                                                              h                  ⁡                                      (                    1                    )                                                                                                      ⋮                                            ⋮                                            ⋰                                            ⋮                                                                    0                                            0                                            …                                                              h                  ⁡                                      (                                          N                      -                      1                                        )                                                                                ]                                    Equation        ⁢                                  ⁢                  (          5          )                    In this model, xn is the 1×(N+L−1) input vector,
                              x          n                ⁢                  =          Δ                ⁢                  [                                    x              ⁡                              (                n                )                                      ⁢                                                  ⁢                          x              ⁡                              (                                  n                  -                  1                                )                                      ⁢                                                  ⁢            …            ⁢                                                  ⁢                          x              ⁡                              (                                  n                  -                  N                  -                  L                  +                  2                                )                                              ]                                    Equation        ⁢                                  ⁢                  (          6          )                    yn is the 1×L input regression vector to the FFE 104,
                              y          n                ⁢                  =          Δ                ⁢                  [                                    y              ⁡                              (                n                )                                      ⁢                                                  ⁢                          y              ⁡                              (                                  n                  -                  1                                )                                      ⁢                                                  ⁢            …            ⁢                                                  ⁢                          y              ⁡                              (                                  n                  -                  L                  +                  1                                )                                              ]                                    Equation        ⁢                                  ⁢                  (          7          )                    {hacek over (x)}n is the 1×M input regression vector to the (strictly causal) FBE 108,
                                          x            ⋓                    n                ⁢                  =          Δ                ⁢                  [                                    x              ⁡                              (                                  n                  -                  δ                  -                  1                                )                                      ⁢                                                  ⁢                          x              ⁡                              (                                  n                  -                  δ                  -                  2                                )                                      ⁢                                                  ⁢            …            ⁢                                                  ⁢                          x              ⁡                              (                                  n                  -                  δ                  -                  M                                )                                              ]                                    Equation        ⁢                                  ⁢                  (          8          )                    and vn is the 1×L vector noise process.
The current efficient methods for computing the optimal filter coefficients of a decision feedback equalizer, which optimizes (1), are based on the well-known Cholesky decomposition method (from a finite-dimension problem formulation). Two published papers: (1) N. Al-Dhahir and J. M. Cioffi, “MMSE Decision-Feedback Equalizers: Finite-Length Results,” IEEE Trans. on Information Theory, vol. 41, no. 4, pp. 961-973, July 1995; and (2) N. Al-Dhahir and J. M. Cioffi, “Fast Computation of Channel-Estimate Based Equalizers in Packet Data Transmission,” IEEE Trans. on Signal Processing, vol. 43, no. 11, pp. 2462-2473, November 1995 provide one procedure for computing optimal DFE settings. These equations are referred to hereinafter as “Al-Dhahir's equations.”
Another type of often employed in wireless communication systems is the linear equalizer, e.g., Finite Impulse Response (FIR) filter. While the linear equalizer does not suffer from error propagation as does the DFE, it is not as effective in removing Inter-Symbol Interference (ISI) from a received symbol stream. Linear equalizers are often used in wireless communication systems because of their simplicity of design and implementation. Determination of taps of the linear equalizer is also difficult.
As can be ascertained for the above discussion, the determination of filter coefficients, or taps, for an equalizer is an involved process and requires a substantial amount of computational power to adequately equalize signals in today's high performance wireless communication devices. In some applications, long filters are needed, for example for HDTV channels, where implementing such long filters for channel estimation, tap computation, and equalization have practical limitations due to the need for a large number of coefficient multipliers. Furthermore, computing the taps of such long equalizer would also require a large number of multipliers, which, on a per multiplier basis, occupies a relatively large integrated circuit die area.
Therefore, a need exists for an equalizer that can meet the challenges of today's high performance wireless communication devices, provides accurate channel estimation, tap computation, and equalization for long filters while reducing the number of multipliers.